package com.ttg.web.dao;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ttg.common.dto.TagProducer;
import com.ttg.common.entities.BasePage;
import com.ttg.common.dto.TagProducer;
import com.ttg.model.pojo.BankPrivatePrimitive;
import com.ttg.model.pojo.VipRatingConfig;
import org.springframework.transaction.annotation.Transactional;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

/**
 * @author zhangHongYuan
 * @description
 * @date 2024/4/16 16:47
 */
public interface BankPrivatePrimitiveDao extends IService<BankPrivatePrimitive> {

    List<BankPrivatePrimitive> getByCstIdAndDate(String cstId, LocalDate localDate);

    BankPrivatePrimitive getByCstIdAndDateLast(String cstId);

    void truncate();
    List<Long> getVipIdsByTags(List<TagProducer> tags, String key);

    List<String> getVipCstIdsByVipRatingConfig(VipRatingConfig vipRatingConfig, BasePage basePage);

    @Transactional(
            rollbackFor = {Exception.class}
    )
    boolean saveBatchTypeSplit(Map<String, List<BankPrivatePrimitive>> batMap);

    List<BankPrivatePrimitive> tblBankPrivatePrimitive(String sql,Integer size,Long startId);

}
